[INFO] fetching crate iui 0.3.0...
[INFO] building iui-0.3.0 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate iui 0.3.0 into /workspace/builds/worker-6/source
[INFO] validating manifest of crates.io crate iui 0.3.0 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate iui 0.3.0
[INFO] finished tweaking crates.io crate iui 0.3.0
[INFO] tweaked toml for crates.io crate iui 0.3.0 written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 109531765a213e47e6df1144c3b54de3e97b5484296f86afdd713aa9eb39b6e4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "109531765a213e47e6df1144c3b54de3e97b5484296f86afdd713aa9eb39b6e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "109531765a213e47e6df1144c3b54de3e97b5484296f86afdd713aa9eb39b6e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "109531765a213e47e6df1144c3b54de3e97b5484296f86afdd713aa9eb39b6e4", kill_on_drop: false }`
[INFO] [stdout] 109531765a213e47e6df1144c3b54de3e97b5484296f86afdd713aa9eb39b6e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6b3f59e42b64606e4256f8f71b667754a0b3dd0e8e1d19ad1d6ac338db6bea8b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6b3f59e42b64606e4256f8f71b667754a0b3dd0e8e1d19ad1d6ac338db6bea8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]    Compiling backtrace v0.3.59
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling ui-sys v0.1.3
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling iui v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let mut data: Box<Box<FnMut(&mut Button)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 &mut *data as *mut Box<FnMut(&mut Button)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:66:56
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&mut Button)>>(data)(&mut button)
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut data: Box<Box<FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 &mut *data as *mut Box<FnMut(&mut Window) -> bool> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/window.rs:107:55
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 mem::transmute::<*mut c_void, Box<Box<FnMut(&mut Window) -> bool>>>(data)(
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:79:56
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:96:35
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:193:40
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:203:56
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:249:56
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let mut data: Box<Box<FnMut(bool)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:283:40
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 &mut *data as *mut Box<FnMut(bool)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:291:56
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(bool)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi_tools.rs:38:52
[INFO] [stdout]    |
[INFO] [stdout] 38 |     unsafe { mem::transmute::<*mut c_void, Box<Box<FnMut()>>>(data)() }
[INFO] [stdout]    |                                                    ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let mut data: Box<Box<FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 &mut *data as *mut Box<FnMut(&MenuItem, &Window)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&MenuItem, &Window)>>(data)(
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:150:35
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |     callback: Option<Box<FnMut()>>,
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/draw/transform.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut matrix = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 21.46s
[INFO] running `Command { std: "docker" "inspect" "6b3f59e42b64606e4256f8f71b667754a0b3dd0e8e1d19ad1d6ac338db6bea8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b3f59e42b64606e4256f8f71b667754a0b3dd0e8e1d19ad1d6ac338db6bea8b", kill_on_drop: false }`
[INFO] [stdout] 6b3f59e42b64606e4256f8f71b667754a0b3dd0e8e1d19ad1d6ac338db6bea8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 439b474952b375ddf2c3130dbd46f8c10c7daed57148a66c5c63fb6767c2a4f8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "439b474952b375ddf2c3130dbd46f8c10c7daed57148a66c5c63fb6767c2a4f8", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let mut data: Box<Box<FnMut(&mut Button)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 &mut *data as *mut Box<FnMut(&mut Button)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:66:56
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&mut Button)>>(data)(&mut button)
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut data: Box<Box<FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 &mut *data as *mut Box<FnMut(&mut Window) -> bool> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/window.rs:107:55
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 mem::transmute::<*mut c_void, Box<Box<FnMut(&mut Window) -> bool>>>(data)(
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:79:56
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:96:35
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:193:40
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:203:56
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:249:56
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let mut data: Box<Box<FnMut(bool)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:283:40
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 &mut *data as *mut Box<FnMut(bool)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:291:56
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(bool)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi_tools.rs:38:52
[INFO] [stdout]    |
[INFO] [stdout] 38 |     unsafe { mem::transmute::<*mut c_void, Box<Box<FnMut()>>>(data)() }
[INFO] [stdout]    |                                                    ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let mut data: Box<Box<FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 &mut *data as *mut Box<FnMut(&MenuItem, &Window)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&MenuItem, &Window)>>(data)(
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:150:35
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |     callback: Option<Box<FnMut()>>,
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling iui v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/draw/transform.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut matrix = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let mut data: Box<Box<FnMut(&mut Button)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 &mut *data as *mut Box<FnMut(&mut Button)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:66:56
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&mut Button)>>(data)(&mut button)
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut data: Box<Box<FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 &mut *data as *mut Box<FnMut(&mut Window) -> bool> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/window.rs:107:55
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 mem::transmute::<*mut c_void, Box<Box<FnMut(&mut Window) -> bool>>>(data)(
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:79:56
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:96:35
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:193:40
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:203:56
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:249:56
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let mut data: Box<Box<FnMut(bool)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:283:40
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 &mut *data as *mut Box<FnMut(bool)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:291:56
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(bool)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi_tools.rs:38:52
[INFO] [stdout]    |
[INFO] [stdout] 38 |     unsafe { mem::transmute::<*mut c_void, Box<Box<FnMut()>>>(data)() }
[INFO] [stdout]    |                                                    ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let mut data: Box<Box<FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 &mut *data as *mut Box<FnMut(&MenuItem, &Window)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&MenuItem, &Window)>>(data)(
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:150:35
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |     callback: Option<Box<FnMut()>>,
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/draw/transform.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut matrix = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/files.rs:35:129
[INFO] [stdout]    |
[INFO] [stdout] 35 | ...   Err(why) => { window.modal_err(&ui, "I/O Error", &format!("Could not open file {}: {}", path.display(), why.description())); return; }
[INFO] [stdout]    |                                                                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/files.rs:39:133
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...   Err(why) => { window.modal_err(&ui, "I/O Error", &format!("Could not write to file {}: {}", path.display(), why.description())); re...
[INFO] [stdout]    |                                                                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.20s
[INFO] running `Command { std: "docker" "inspect" "439b474952b375ddf2c3130dbd46f8c10c7daed57148a66c5c63fb6767c2a4f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "439b474952b375ddf2c3130dbd46f8c10c7daed57148a66c5c63fb6767c2a4f8", kill_on_drop: false }`
[INFO] [stdout] 439b474952b375ddf2c3130dbd46f8c10c7daed57148a66c5c63fb6767c2a4f8
